1. Field of the Invention
This invention relates to the field of system management. More particularly, the present invention relates to the alteration of a boot sequence performed by an electronic system to enable diagnostics of that system by a service provider through an accessible network.
2. Description of Art Related to the Invention
One of the most important elements of a computer is the Basic Input/Output System ("BIOS"). The BIOS is essentially code, typically stored in some form of non-volatile memory, which isolates the operating system and application programs from specific hardware devices. After "powering-on" the computer, BIOS enables a host processor to perform a number of tasks, including a boot sequence. A "boot sequence" is the initialization and testing of various hardware devices implemented within the computer.
Generally, boot sequences have remained static for a number of years. For example, a standard boot sequence performed after powering the personal computer is shown in FIG. 1. A first phase of the standard boot sequence is the initialization of chipsets and selected hardware implemented on a motherboard of the computer (Step 110). Such hardware may include a Super Input/Output "SIO" controller, keyboard controller, a video controller and the like. In the next phase, main memory devices and a variety of other hardware devices, including some or all of the initialized hardware, are tested to verify that these devices operate properly (Step 120). After the testing phase is performed, interrupts are allocated to various storage resources of the computer (Step 130). These storage resources include, but are not limited to, a hard disk drive ("HDD") , floppy disk drive ("FDD"), compact disk read only memory ("CD ROM") player and the like.
Next, a desktop management information ("DMI") file is created to include system configuration information about various hardware devices of the computer (Step 140). The contents of the DMI file may be used to perform subsequent diagnostics in case of a malfunction or to provide system information to aid during hardware or software installation. Thereafter, the operating system is loaded from diskette or from the HDD if no diskette has been inserted into the FDD (Step 150).
During the initialization, testing or allocation phases of the boot sequence, if one or more boot errors occur during the boot sequence, the computer may respond by generating an error message warning of the boot error and either temporarily or permanently halting the booting of the computer. Normally, the type of response depends on the severity of the boot error. Consequently, provided the computer is implemented with diagnostic circuitry and software to detect boot errors occurring during the boot sequence, either response may cause the boot error to be categorized and stored at predetermined location(s) in non-volatile memory thereby producing an error log, otherwise known as an "event log".
If the computer experiences a boot error and the BIOS requires servicing, a computer user currently has a few corrective options. One option is to request a computer technician to be dispatched on-site to repair the computer. Other options include removing the computer from its normal working environment and delivering it to a computer repair facility, or fixing the computer through either adjustment or replacement of hardware, re-installation of software, modification of software parameters and the like. For large businesses having hundreds or thousands of computers interconnected together through an internal network or having a large, stand-alone computer (e.g., a mainframe) experiencing a boot error, the second option of removing the computer is not viable. Likewise, the third option is not viable if the computer user is unfamiliar with the internal workings of his or her computer.
Over the last few years, it has been discovered that the use of on-site computer technicians poses a number of disadvantages. One disadvantage is that on-site servicing is a time-consuming process. This leads to longer downtime experienced by the computer user. Another disadvantage is that the computer user incurs high service costs due to the large overhead costs (e.g., transportation costs, gas, insurance, etc.) assumed by the computer service provider in providing on-site servicing.
In light of the current trend to increase memory storage size of BIOS, it would be advantageous to alter the boot sequence provided by BIOS in order to provide a more manageable electronic system being easier to service through remote system-level diagnostics and to support through a "fault tolerant" boot sequence. This would reduce repair costs and provide faster repair servicing. Furthermore, it would be advantageous to provide this remote servicing in an automated fashion so no human intervention is required.